/**
 * <b>项目名称：</b>网络应用框架<br/>
 * <b>包    名：</b>com.hhwy.framework.util<br/>
 * <b>文 件 名：</b>StringUtils.java<br/>
 * <b>版本信息：</b><br/>
 * <b>日    期：</b>2014年7月28日-下午4:20:21<br/>
 * <b>Copyright (c)</b> 2014恒华伟业科技股份有限公司-版权所有<br/>
 * 
 */
package com.hhwy.framework.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

 /**
 * <b>类 名 称：</b>StringUtils <br/>
 * <b>类 描 述：</b><br/>
 * <b>创 建 人：</b>Administrator<br/>
 * <b>修 改 人：</b>Administrator<br/>
 * <b>修改时间：</b>2014年7月28日 下午4:20:21<br/>
 * <b>修改备注：</b><br/>
 * @version 1.0.0<br/>
 */
public class StringUtils {
	
	static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	
	/**
	 * 
	 * replace(通过正则表达式替换文本内容)<br/>
	 * @param source
	 * @param pattern
	 * @return 
	 * String
	 * @exception 
	 * @since  1.0.0
	 */
	public static String replace(String source , String replace , String regex){
	    Pattern pattern = Pattern.compile(regex);
	    Matcher matcher = pattern.matcher(source);
	    source=  matcher.replaceAll(replace);
		return source;
	}
	/**
	 * isNull(判断对象是否为空，包括toString.length 等于0)<br/>
	 * @param obj
	 * @return 
	 * boolean
	 * @exception 
	 * @since  1.0.0
	 */
	public static boolean isNull(Object obj){
		if(obj == null || obj.toString().length() == 0)
			return true;
		else
			return false;
		
	}
	
	/**
	 * 
	 * parseTime(字符串转成含时间的日期对象，格式："yyyy-MM-dd HH:mm:ss")<br/>
	 * @param dateStr
	 * @return 
	 * Date
	 * @throws ParseException 
	 * @exception 
	 * @since  1.0.0
	 */
	public static Date parseTime(String dateStr) throws ParseException{
		
		return sdfTime.parse(dateStr);
	}
	/**
	 * 
	 * parse(字符串转成日期对象，格式："yyyy-MM-dd")<br/>
	 * @param dateStr
	 * @return
	 * @throws ParseException 
	 * Date
	 * @exception 
	 * @since  1.0.0
	 */
	public static Date parse(String dateStr) throws ParseException{
		
		return sdf.parse(dateStr);
	}
	/**
	 * 
	 * dateFormat(转换日期对象为指定格式的字符串， 格式:"yyyy-MM-dd")<br/>
	 * @param date
	 * @return 
	 * String
	 * @exception 
	 * @since  1.0.0
	 */
	public static String dateFormat(Date date){
		
		return sdf.format(date);
	}
	/**
	 * 
	 * timeFormat(转换日期对象为指定格式的字符串， 格式:"yyyy-MM-dd  HH:mm:ss")<br/>
	 * @param date
	 * @return 
	 * String
	 * @exception 
	 * @since  1.0.0
	 */
	public static String timeFormat(Date date){
		
		return sdfTime.format(date);
	}
	
	/**
	 * 
	 * dateFormat(转换日期对象为指定格式的字符串， 格式:"yyyy-MM-dd")<br/>
	 * @param date
	 * @return 
	 * String
	 * @exception 
	 * @since  1.0.0
	 */
	public static String dateFormat(long date){
		
		return sdf.format(date);
	}
	/**
	 * 
	 * format(日期数据转换为指定的格式)<br/>
	 * @param date
	 * @param format
	 * @return 
	 * String
	 * @exception 
	 * @since  1.0.0
	 */
	public static String format(Date date , String format){
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.format(date);
		
	}
	/**
	 * 
	 * format(日期数据转换为指定的格式)<br/>
	 * @param date
	 * @param format
	 * @return 
	 * String
	 * @exception 
	 * @since  1.0.0
	 */
	public static String format(long date , String format){
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.format(date);
		
	}
	/**
	 * 
	 * timeFormat(转换日期对象为指定格式的字符串， 格式:"yyyy-MM-dd  HH:mm:ss")<br/>
	 * @param date
	 * @return 
	 * String
	 * @exception 
	 * @since  1.0.0
	 */
	public static String timeFormat(long date){
		
		return sdfTime.format(date);
	}
}
